home *** CD-ROM | disk | FTP | other *** search
- #
- #
- resolution = 100;
-
- Mesh= list( list( ctlpt( E3, 0.0 , 0.668 , -2.8 ),
- ctlpt( E3, 0.0 , 0.668 , -2.8 ),
- ctlpt( E3, 0.0 , 0.669 , -2.8 ),
- ctlpt( E3, 0.0 , 0.669 , -2.8 ),
- ctlpt( E3, 0.0 , 0.668 , -2.8 ),
- ctlpt( E3, 0.0 , 0.668 , -2.8 )),
- list( ctlpt( E3, 0.0 , 0.666 , -0.83 ),
- ctlpt( E3, -0.05 , 0.666 , -0.83 ),
- ctlpt( E3, -0.05 , 0.670 , -0.83 ),
- ctlpt( E3, 0.05 , 0.670 , -0.83 ),
- ctlpt( E3, 0.05 , 0.666 , -0.83 ),
- ctlpt( E3, 0.0 , 0.666 , -0.83 ) ),
- list( ctlpt( E3, 0.0 , 0.64 , -0.82 ),
- ctlpt( E3, -0.2 , 0.64 , -0.82 ),
- ctlpt( E3, -0.2 , 0.68 , -0.82 ),
- ctlpt( E3, 0.2 , 0.68 , -0.82 ),
- ctlpt( E3, 0.2 , 0.64 , -0.82 ),
- ctlpt( E3, 0.0 , 0.64 , -0.82 ) ) ) ;
-
- nos = sbspline(3, 2, Mesh,list(list(KV_OPEN),list(KV_OPEN)) );
-
- Mesh = list(
- list( ctlpt( E3, 0.0 , 0.64 , -0.82 ),
- ctlpt( E3, -0.2 , 0.64 , -0.82 ),
- ctlpt( E3, -0.2 , 0.68 , -0.82 ),
- ctlpt( E3, 0.2 , 0.68 , -0.82 ),
- ctlpt( E3, 0.2 , 0.64 , -0.82 ),
- ctlpt( E3, 0.0 , 0.64 , -0.82 ) ),
- list( ctlpt( E3, 0.0 , 0.4 , -0.8 ),
- ctlpt( E3, -1.0 , 0.4 , -0.8 ),
- ctlpt( E3, -1.0 , 0.8 , -0.8 ),
- ctlpt( E3, 1.0 , 0.8 , -0.8 ),
- ctlpt( E3, 1.0 , 0.4 , -0.8 ),
- ctlpt( E3, 0.0 , 0.4 , -0.8 ) ),
- list( ctlpt( E3, 0.0 , 0.2 , -0.5 ),
- ctlpt( E3, -1.22, 0.2 , -0.5 ),
- ctlpt( E3, -1.22, 1.1 , -0.5 ),
- ctlpt( E3, 1.22, 1.1 , -0.5 ),
- ctlpt( E3, 1.22, 0.2 , -0.5 ),
- ctlpt( E3, 0.0 , 0.2 , -0.5 ) ),
-
- list( ctlpt( E3, 0.0 , 0.0 , 0.5 ),
- ctlpt( E3, -1.35, 0.0 , 0.5 ),
- ctlpt( E3, -1.35, 2.4 , 0.5 ),
- ctlpt( E3, 1.35, 2.4 , 0.5 ),
- ctlpt( E3, 1.35, 0.0 , 0.5 ),
- ctlpt( E3, 0.0 , 0.0 , 0.5 ) ),
- list( ctlpt( E3, 0.0 , 0.0 , 1.55 ),
- ctlpt( E3, -1.4 , 0.0 , 1.55 ),
- ctlpt( E3, -1.4 , 2.4 , 1.55 ),
- ctlpt( E3, 1.4 , 2.4 , 1.55 ),
- ctlpt( E3, 1.4 , 0.0 , 1.55 ),
- ctlpt( E3, 0.0 , 0.0 , 1.55 ) ),
- list( ctlpt( E3, 0.0 , 0.0 , 1.55 ),
- ctlpt( E3, -1.4 , 0.0 , 1.55 ),
- ctlpt( E3, -1.4 , 2.4 , 1.55 ),
- ctlpt( E3, 1.4 , 2.4 , 1.55 ),
- ctlpt( E3, 1.4 , 0.0 , 1.55 ),
- ctlpt( E3, 0.0 , 0.0 , 1.55 ) ),
- list( ctlpt( E3, 0.0 , 0.0 , 2.55 ),
- ctlpt( E3, -1.1 , 0.0 , 2.55 ),
- ctlpt( E3, -1.1 , 2.4 , 2.55 ),
- ctlpt( E3, 1.1 , 2.4 , 2.55 ),
- ctlpt( E3, 1.1 , 0.0 , 2.55 ),
- ctlpt( E3, 0.0 , 0.0 , 2.55 ) ),
-
-
- list( ctlpt( E3, 0.0 , 0.0 , 6.0 ),
- ctlpt( E3, -1.0 , 0.0 , 6.0 ),
- ctlpt( E3, -1.0 , 2.4 , 6.0 ),
- ctlpt( E3, 1.0 , 2.4 , 6.0 ),
- ctlpt( E3, 1.0 , 0.0 , 6.0 ),
- ctlpt( E3, 0.0 , 0.0 , 6.0 ) ),
- list( ctlpt( E3, 0.0 , 0.5 , 6.6 ),
- ctlpt( E3, -1.0 , 0.5 , 6.6 ),
- ctlpt( E3, -1.0 , 2.0 , 6.6 ),
- ctlpt( E3, 1.0 , 2.0 , 6.6 ),
- ctlpt( E3, 1.0 , 0.5 , 6.6 ),
- ctlpt( E3, 0.0 , 0.5 , 6.6 ) ),
- list( ctlpt( E3, 0.0 , 1.0 , 6.8 ),
- ctlpt( E3, -0.7 , 1.0 , 6.8 ),
- ctlpt( E3, -0.7 , 2.0 , 6.8 ),
- ctlpt( E3, 0.7 , 2.0 , 6.8 ),
- ctlpt( E3, 0.7 , 1.0 , 6.8 ),
- ctlpt( E3, 0.0 , 1.0 , 6.8 ) ),
-
- list( ctlpt( E3, 0.0 , 1.5 , 9.0 ),
- ctlpt( E3, -0.2 , 1.5 , 9.0 ),
- ctlpt( E3, -0.2 , 2.0 , 9.0 ),
- ctlpt( E3, 0.2 , 2.0 , 9.0 ),
- ctlpt( E3, 0.2 , 1.5 , 9.0 ),
- ctlpt( E3, 0.0 , 1.5 , 9.0 ) ),
- list( ctlpt( E3, 0.0 , 1.9 , 9.5 ),
- ctlpt( E3, -0.2 , 1.9 , 9.5 ),
- ctlpt( E3, -0.2 , 2.0 , 9.5 ),
- ctlpt( E3, 0.2 , 2.0 , 9.5 ),
- ctlpt( E3, 0.2 , 1.9 , 9.5 ),
- ctlpt( E3, 0.0 , 1.9 , 9.5 ) ) );
-
- body = sbspline(4 , 3 ,Mesh , list (list(KV_OPEN),
- list(0, 0, 0, 1, 1.3, 1.5, 1.8, 2.2, 3.2, 3.9, 4.6, 5.3, 6, 6, 6)));
- #body = body*scale( vector(1.0, 1.22, 1.0));
-
- Mesh = list(
- # list( ctlpt( E3, -1.111, 2.0 , 8.85 ),
- # ctlpt( E3, -1.111, 2.0 , 8.84 ),
- # ctlpt( E3, -1.111, 2.1 , 8.84 ),
- # ctlpt( E3, -1.111, 2.1 , 8.86 ),
- # ctlpt( E3, -1.111, 2.0 , 8.86 ),
- # ctlpt( E3, -1.111, 2.0 , 8.85) ),
- #
- list( ctlpt( E3, -1.11, 1.0 , 8.85 ),
- ctlpt( E3, -1.11, 1.0 , 8.5 ),
- ctlpt( E3, -1.11, 2.5 , 8.5 ),
- ctlpt( E3, -1.11, 2.5 , 10.3 ),
- ctlpt( E3, -1.11, 1.0 , 10.3 ),
- ctlpt( E3, -1.11, 1.0 , 8.85) ),
-
- list ( ctlpt( E3, -1.1 , 1.0 , 8.85 ),
- ctlpt( E3, -1.1 , 1.0 , 8.5 ),
- ctlpt( E3, -1.1 , 2.5 , 8.5 ),
- ctlpt( E3, -1.1 , 2.5 , 10.3 ),
- ctlpt( E3, -1.1 , 1.0 , 10.3 ),
- ctlpt( E3, -1.1 , 1.0 , 8.85) ),
-
- list( ctlpt( E3, -1.08 , 1.9 , 8.85 ),
- ctlpt( E3, -1.08 , 1.9 , 8.7 ),
- ctlpt( E3, -1.08 , 2.0 , 8.7 ),
- ctlpt( E3, -1.08 , 2.0 , 9.5),
- ctlpt( E3, -1.08 , 1.9 , 9.5 ),
- ctlpt( E3, -1.08 , 1.9 , 8.85) ),
-
- list( ctlpt( E3, -1.0 , 1.9 , 8.85 ),
- ctlpt( E3, -1.0 , 1.9 , 8.7 ),
- ctlpt( E3, -1.0 , 2.0 , 8.7 ),
- ctlpt( E3, -1.0 , 2.0 , 9.5 ),
- ctlpt( E3, -1.0 , 1.9 , 9.5 ),
- ctlpt( E3, -1.0 , 1.9 , 8.85) ),
-
- list( ctlpt( E3, 0.0 , 1.9 , 8.85 ),
- ctlpt( E3, 0.0 , 1.9 , 8.7 ),
- ctlpt( E3, 0.0 , 2.0 , 8.7 ),
- ctlpt( E3, 0.0 , 2.0 , 9.5 ),
- ctlpt( E3, 0.0 , 1.9 , 9.5 ),
- ctlpt( E3, 0.0 , 1.9 , 8.85) ),
-
- list( ctlpt( E3, 1.0 , 1.9 , 8.85 ),
- ctlpt( E3, 1.0 , 1.9 , 8.7 ),
- ctlpt( E3, 1.0 , 2.0 , 8.7 ),
- ctlpt( E3, 1.0 , 2.0 , 9.5 ),
- ctlpt( E3, 1.0 , 1.9 , 9.5 ),
- ctlpt( E3, 1.0 , 1.9 , 8.85 ) ),
-
- list( ctlpt( E3, 1.08 , 1.9 , 8.85 ),
- ctlpt( E3, 1.08 , 1.9 , 8.7 ),
- ctlpt( E3, 1.08 , 2.0 , 8.7 ),
- ctlpt( E3, 1.08 , 2.0 , 9.5 ),
- ctlpt( E3, 1.08 , 1.9 , 9.5 ),
- ctlpt( E3, 1.08 , 1.9 , 8.85) ),
-
- list ( ctlpt( E3, 1.1 , 1.0 , 8.85 ),
- ctlpt( E3, 1.1 , 1.0 , 8.5 ),
- ctlpt( E3, 1.1 , 2.5 , 8.5 ),
- ctlpt( E3, 1.1 , 2.5 , 10.3 ),
- ctlpt( E3, 1.1 , 1.0 , 10.3 ),
- ctlpt( E3, 1.1 , 1.0 , 8.85) ),
-
- list( ctlpt( E3, 1.11 , 1.0 , 8.85 ),
- ctlpt( E3, 1.11, 1.0 , 8.5 ),
- ctlpt( E3, 1.11, 2.5 , 8.5 ),
- ctlpt( E3, 1.11, 2.5 , 10.3 ),
- ctlpt( E3, 1.11, 1.0 , 10.3 ),
- ctlpt( E3, 1.11, 1.0 , 8.85) ),
-
- list( ctlpt( E3, 1.111, 1.5 , 8.85),
- ctlpt( E3, 1.111, 1.5 , 8.85),
- ctlpt( E3, 1.111, 1.5 , 8.85),
- ctlpt( E3, 1.111, 1.5 , 8.85),
- ctlpt( E3, 1.111, 1.5 , 8.85),
- ctlpt( E3, 1.111, 1.5 , 8.85) ) );
-
- hvost = sbspline(4,2,Mesh,list (list(KV_OPEN),list(KV_OPEN)));
- hvost = hvost * trans( vector( 0.0, -0.34, -1.0));
-
- hvost = hvost*scale( vector( 1.5, 1.5, 1.5 ));
-
- Mesh = list(
- list( ctlpt( E3, 1.0 , 1.7 , 1.35 ),
- ctlpt( E3, 1.0 , 1.7 , 1.0 ),
- ctlpt( E3, 1.0 , 1.9 , 1.0 ),
- ctlpt( E3, 1.0 , 1.9 , 2.8 ),
- ctlpt( E3, 1.0 , 1.7 , 2.8 ),
- ctlpt( E3, 1.0 , 1.7 , 1.35) ),
- list( ctlpt( E3, 2.0 , 1.6 , 0.85 ),
- ctlpt( E3, 2.0 , 1.6 , 0.5 ),
- ctlpt( E3, 2.0 , 2.0 , 0.5 ),
- ctlpt( E3, 2.0 , 2.0 , 3.0 ),
- ctlpt( E3, 2.0 , 1.6 , 3.0 ),
- ctlpt( E3, 2.0 , 1.6 , 0.85) ),
- list( ctlpt( E3, 4.0 , 1.6 , 0.85 ),
- ctlpt( E3, 4.0 , 1.6 , 0.5 ),
- ctlpt( E3, 4.0 , 2.0 , 0.5 ),
- ctlpt( E3, 4.0 , 2.0 , 3.0 ),
- ctlpt( E3, 4.0 , 1.6 , 3.0 ),
- ctlpt( E3, 4.0 , 1.6 , 0.85) ),
- list( ctlpt( E3, 5.0 , 1.7 , 1.35 ),
- ctlpt( E3, 5.0 , 1.7 , 1.0 ),
- ctlpt( E3, 5.0 , 1.9 , 1.0 ),
- ctlpt( E3, 5.0 , 1.9 , 2.8 ),
- ctlpt( E3, 5.0 , 1.7 , 2.8 ),
- ctlpt( E3, 5.0 , 1.7 , 1.35) ) );
-
- krylo = sbspline(4,3,Mesh,list (list(KV_OPEN),list(KV_OPEN)));
- krylo = krylo*trans( vector( -3.0, -0.33, 3.05 ) );
- krylo = krylo*scale( vector( 1.42, 0.5, 0.8 ) );
-
- body = list( nos, body );
- body = body * scale( vector( 1.23, 1.22, 1.3) );
- masok = list(body , krylo, hvost) ;
- # masok = masok * scale( vector( 0.23, 0.23, 0.17) );
-
- color( masok, green);
- #attrib( masok, "resolution",100);
- attrib( masok, "texture","wood");
- attrib( masok, "reflect",0.6);
- attrib( masok, "rgb", "10,200,80");
-
-
- #body1=body + krylo1 ;
- #
- # BOMBA
- #
- v0 = vector( 0.0, -1.5, 9.0 );
- v1 = vector( 0.0, 1.5, 9.0 );
- v2 = vector( 0.0, 1.5, 12.0 );
- v3 = vector( 0.0, -1.5, 12.0 );
- h1 = poly( list( v0, v1, v2 ,v3 ), false );
- h2 = h1*rotz(90);
-
- m = list (
- ctlpt(E3, 0.0, 0.0 , 0.0 ),
- ctlpt(E3, 0.0, 2.0 , 1.0 ),
- ctlpt(E3, 0.0, 2.0 , 3.0 ),
- ctlpt(E3, 0.0, 1.0 , 5.0 ),
- ctlpt(E3, 0.0, 1.0 , 5.0 ),
- ctlpt(E3, 0.0, 1.0 , 8.0 ) );
-
- b = cbezier(m);
- b=surfrev(b);
- b = b*scale( vector(0.7 , 0.7 , 1.5 ) );
- bomba = list(b , h1 , h2);
-
- bomba=bomba*scale( vector( 0.15 , 0.15 , 0.15 ) );
- bomba1=bomba*trans( vector( 2.2 , 0.4, 3.0) );
- bomba2=bomba1*trans( vector(0.6 , 0.0 , 0.1 ) );
-
- bomba3=bomba*trans( vector(-2.1 , 0.4 , 3.0 ) );
- bomba4=bomba3*trans( vector(-0.6 , 0.0 , 0.1 ) );
-
- bombs = list(bomba1,bomba2,bomba3,bomba4);
- color( bombs, white );
- attrib( bombs, "texture", "marble" );
- attrib( bombs, "reflect", 0.6 );
-
-
- masok = list( masok, bombs);
-
- #
- v1 = vector( 0.0, 0.0, 0.0 );
- v2 = vector( 0.0, 0.0, 7.0 );
- v3 = vector( 0.1, 0.1, 7.0);
- prop = poly( list( v1, v2 ,v3 ), false );
-
- prop=prop*roty(30);
- prop1=prop;
- prop2=prop1*roty(180);
-
- prop=prop*trans( vector( 0.0, 0.4, 0.0));
- prop3=prop*roty(90);
- prop4=prop3*roty(180);
-
- v1 = vector( 0.0, -0.3, 0.0 );
- v2 = vector( 0.0, 0.5, 0.0 );
- palka=poly( list(v1, v2), true);
- vint=list( prop1 , prop2 , prop3 , prop4, palka );
- vint=vint*trans( vector( 0.0 , 2.9 , 4.0) );
-
- color( vint, white );
- attrib( vint, "texture", "marble" );
- attrib( vint, "reflect", 0.6 );
- attrib( vint, "rgb","100,100,100");
-
-
- masok = list( masok, vint);
-
- #
- # View it all and dump it.
- #
- #
- # Go to single buffer since this one is slow.
- #
- viewstate("DblBuffer");
-
- save_mat = view_mat;
- view_mat = view_mat * scale( vector( 0.1, 0.1, 0.1) );
- masok = masok * scale( vector( 0.2, 0.2, 0.2) );
- #masok = masok * rotx(90);
- interact(masok);
- save("masok",masok);
- view_mat = save_mat;
-